Dieser Kurs widmet sich in zwei Teilen den Packern/Archivern. Im
ersten Teil habe ich die meistverbreitetsten Packer vorgestellt und
einen Geschwindigkeitsvergleich gemacht.
Im zweiten Teil beschreibe ich die Bedienung der meistbenutzten Packer.
Ich will und kann hier keine vollständige Beschreibung aller möglichen
Optionen und Funktionen geben, die die einzelnen Packer bieten, sondern
nur eine Übersicht, wie man die wichtigsten Sachen macht. Für eine
genaue Erklärung schauen Sie sich bitte die entsprechende Anleitung an.
LZX 1.21r
Endung eines LZX-Archivs: .lzx
Aufruf-Maske:
LZX [-<Optionen>] <Kommandos> <Archive> [<Datei>...] [<Zielver>]
I. Packen/Archivieren
Das wichtigste Kommando für das Archivieren ist 'a'. Der einfachste
Aufruf, um ein File in ein Archiv zu "adden" (hinzufügen), lautet
daher:
LZX a Archive.LZX DateiA
Damit wird die Datei "DateiA" zu dem Archiv "Archive.LZX" hinzugefügt
(falls das Archiv noch nicht existiert, wird es erstellt).
Es können aber auch mehrere Dateien gleich mitübergeben werden:
LZX a Archive.LZX DateiB DateiC Ram:DateiD Work:DateiE
Mit diesem Aufruf würden die Dateien "DateiB", "DateiC", "Ram:DateiD" und
"Work:DateiE" dem Archive hinzugefügt werden. Dabei ist zu beachten, daß
die Pfadangabe der Dateien DateiD bzw. DateiE *nicht* mit abgespeichert
wird! Um dies zu erreichen, muß eine spezielle Option angegeben werden
(siehe unten).
[für Fortgeschrittene!]
Als Abwandlung des 'a'-Kommandos gibt es das 'af'-Kommando (add fast).
Es wird einfach anstelle von 'a' verwendet. Der Unterschied ist, daß LZX
nicht überprüft, ob die hinzuzufügende Datei schon existiert, dadurch wird
der Vorgang erheblich schneller. Allerdings sollte diese Option nur
verwendet werden, wenn man sichergehen kann, daß kein File zweimal
"geadded" wird. Als Beispielanwendung wird in der Anleitung eine
FidoNet-Anwendung erwähnt, bei der jedes Mailpaket ein anderen Namen
besitzt. Durch die Verwendung von 'af' kann dieser Bereich einer BBS
erheblich beschleunigt werden.
Die Kommandos 'f' ("freshen"), 'r' ("replace") und 'u' ("update") dienen
auch dem Hinzufügen von Dateien zu einem Archiv. Bei 'f' werden ältere
Dateien durch neuere ersetzt, wobei das letzte Änderungs-Datum der
Dateien beachtet wird. Es wird dabei angenommen, daß ein früheres Datum
die ältere Datei angibt. Kommando 'r' ersetzt hingegen einfach nur bereits
existierende Files. 'u' wirkt fast genauso wie 'f', jedoch fügt es auch
neue Datei hinzu (im Gegensatz zu 'f' und 'r').
II. Entpacken
Ein Archiv wird entweder mit dem Kommando 'e' oder mit 'x' entpackt.
Der einzige Unterschied ist, daß bei 'e' keine Dateipfade beachtet werden,
bei 'x' hingegen werden die Pfade (soweit vorhanden) beachtet und ggfs.
Unterverzeichnisse angelegt. Wird das Zielverzeichnis beim Aufruf von LZX
nicht angegeben, wird das aktuelle Verzeichnis benutzt.
III. Weitere Kommandos
Auflisten des Inhalts eines Archivs kann über die zwei Kommandos 'l' und
'v' geschehen.
Der Unterschied ist, daß 'v' mehr Informationen anzeigt als 'l'. Die
meisten ausgegebenen Informationen sollte verständlich sein. Die "CRC-32"-
Spalte gibt die Checksumme der einzelnen Files aus (im Gegensatz zu LhA`s
16Bit-CRC verwendet LZX eine 32Bit-CRC-Checksumme, was die Sicherheit
erhöht). Die "m"-Spalte gibt den Modus der Kompression von LZX an.
Um sich eine Datei aus einem Archiv heraus anzeigen zu lassen, muß man
LZX mit 'p' aufrufen. Damit läßt sich z.B. ein schneller Blick in eine
Readme-Datei werfen, ohne sie extra entpacken zu müssen.
Wenn man zwei Archive zusammenpacken möchte, kann man das 'c'
("concatenate") Kommando verwenden. Jedoch ist dabei genau wie mit
'af' Vorsicht walten zu lassen, da LZX keine Überprüfung vornimmmt,
ob die Dateien vielleicht schon vorhanden sind.
Falls man testen möchte, ob das Archiv korrekt übertragen wurde, kann
man mit dem Kommando 't' einen Test der Archives durchführen.
Es lassen sich zu guter letzt auch einzelne Dateien aus einem Archiv
löschen. Der entsprechnde Aufruf könnte z.B. so aussehen:
LZX d Archiv.LZX DateiB DateiC
Damit würden die Dateien "DateiB" und "DateiC" aus dem Archiv
"Archiv.LZX" gelöscht werden.
IV. wichtige Optionen
Nun noch eine Beschreibung der wichtigsten Optionen. Für eine
vollständige Übersicht schauen Sie bitte in der Anleitung nach.
Option Beschreibung
-e Archiviert auch leere Unterverzeichnisse.
-F Mit dieser Option gibt LZX kein Linefeed mehr nach jeder
(de-)komprimierten Datei aus. Das ist extrem nützlich, da
je nach Rechner und Archiv das Scrolling der Console den
Pack- bzw. Entpackvorgang erheblich verlangsamt.
-Qf Mit dieser Option packt LZX schneller (ohne Effizienzverlust),
benötigt aber 32KB mehr Speicher.
-r Mit dieser Option durchsucht LZX bei Verwendung von Jokern
auch Unterverzeichnisse, um passende Dateien zu finden. Durch
-r wird normalerweise auch automatisch -x aktiviert.
-w Hiermit kann ein spezielles Verzeichnis angegeben werden, indem
LZX seine temporären Dateien anlegt. Dadurch lassen sich auch
bei geringem Speicher größere Dateien packen. Der Pfad muß auf
einem Semikolon oder Slash enden. Default ist T:
-x Mit dieser Option speichert LZX auch die Pfadnamen der
einzelnen Dateien (außer die Device-Namen). Dadurch wird
die Verzeichnisstruktur erhalten. Diese Option wird von -r
automatisch aktiviert.
-Y Normalerweise werden Dateien mit bestimmten Endungen nicht
gepackt, da diese bereits in komprimierter Form vorliegen (z.B.
.lha .rar etc.) Mit der -Y Option werden auch diese von LZX
erneut gepackt.
-0 Hiermit wird der Modus von LZX eingestellt. -0 bedeutet keine
Komprimierung.
-1 etwas schlechtere Komprimierung als -2.
-2 Default-Einstellung
-3 bessere Komprimierung als -2
-9 bestmögliche Komprimierung von LZX, jedoch extram langsam
LhA
Aufruf-Maske:
LhA [-<Optionen>] <Kommandos> <Archiv[.LHA]> [[homedir] <Dateispec>...]
[destdir]
Der Klassiker unter den Packer. LhA hat fast die gleichen Kommandos und
Optionen wie LZX (oder genauer: LZX hat die von LhA, da LZX nach LhA
programmiert wurde).
Die Bedienung ist im großen und ganzen die gleiche wie bei LZX, jedoch
unterstützt LhA (unregistriert) einige Optionen nicht bzw. sie haben
eine andere Bedeutung.
Endung eines LhA Archives: .lha
I. Packen
Die Option zum Packen entspricht der von LZX, der Aufruf ist daher:
LhA a <Archiv> <File1> <File2..>
Ebenfalls lassen sich mit 'c' zwei Archive zusammenfassen, wobei genau
wie bei LZX nicht überprüft wird, ob die Dateien schon im Archiv vorhanden
sind.
Es lassen sich Dateien auch in ein Archiv verschieben, so daß die original
Datei gelöscht wird (Kommando: 'm').
II. Entpacken
Die Kommandos zum Entpacken 'a' bzw. 'e' entsprechen genau LZX.
III. weitere Kommandos
Das Auflisten geschieht mit 'l' bzw. 'v'. Das Testen des Archivs macht
't' und eine Datei wird aus dem Archiv mit 'd' gelöscht.
GZip
GZip ist eigentlich nur ein Packer und bietet nur eine umständliche
Möglichkeit Dateien zu einem Archiv zusammenzupacken. Er wird meist
zusammen mit tar, einem reinem Archiver, verwendet. tar bietet eine
Unterstützung von GZip, so daß zwei getrennte Aufrufe auch vermieden
werden.
Endung einer GZip gepackten Datei: .gz
Endung einer tar/GZip Archives: .tgz oder .tar.gz
Aufruf-Maske von GZip:
gzip [-cdfhlLnNrtvV19] [-S Suffix] <Datei ...>
I. Packen
Normalerweise packt GZip einfach die übergebenen Dateien, hängt die Endung
.gz daran und löscht das Original. Bei dieser Verwendung muß keine weitere
Option angegeben werden.
Durch Angabe einer Zahl zwischen 1 und 9 als Option wird die
Komprimierungsqualität beeinflusst. "-1" ist schnell, aber wenig
effizient, während "-9" die beste Effiziens gibt, aber langsamer ist.
Um für jede Datei eine Ausgabezeile mit der Packratio und dem neuem
Dateinamen zu bekommen, muß "v" als Option angegeben werden. Die Option
"r" sorgt für die bekannte Rekursion.
Damit die ursprüngliche Datei unberührt bleibt, kann die Option "c"
angegeben werden. Dann wird die Ausgabe nach stdout angeleitet. Um das
dann nützlich zu verwenden kann sie wieder auf gewohne AmigaDOS-weise
umgeleitet werden.
Beispiel:
gzip -c TestDatei >RAM:Datei.gz
Damit wird die Datei "TestDatei" gepackt und als Datei "Ram:Datei.gz"
abgespeichert.
II. Entpacken
GZip entpackt ein gepacktes File mit "-d" und stellt den ursprünglichen
Dateinamen wieder her und löscht dann das gepackte File. Ansonsten läßt
sich ebenfalls die Ausgabe mit "-c" umleiten.
III. Sonstige Optionen
Als weitere Optionen kann man mit "-l" bzw. "-lv" einige Informationen über
eine gepackte Datei abrufen. Mit "-h" erhält man einen kurzen Hilfstext.
Die Option "-t" testet das Archiv. Um eine Ausgabe pro geprüfte Datei zu
erhalten, muß wieder die Verbose-Option eingeschaltet sein.
tar
"tar" ist ein GNU-Programm, das zum Archivieren von Dateien auf "Tapes"
entwickelt wurde (daher der Name "Tape ARchiver"). Jedoch lassen sich
die Archive auch auf jedes andere Gerät umlenken.
Als typisches Un*x-like Programm ist die Bedienung etwas
gewöhnungsbedürftig und m.E. nicht so komfortabel, wie bei den anderen
Amiga Tools. Das zeigt sich z.B. daran, daß zwischen zwei verschiedene
Optionen unterschieden wird, je nach dem, ob man ein neues Archiv anlegen
will oder einem bereits bestehenden Dateien hinzufügen will.
Die Kommandos von tar beginnen mit einem "--" (ohne die Anführungsstriche)
und sind meist ganze Worte, jedoch gibt es für die wichtigsten Kommandos
eine verkürzte Schreibweise, die mit einem "-" beginnt und nur aus einem
Buchstaben besteht.
Eine Übersicht der Befehle wird mit dem Aufruf "tar --help" angezeigt und
zeigt auch beide Varianten an. Ich werde daher nicht immer beide Varianten
angeben. Da tar ein recht komplexes Programm ist, empfehle ich bei häufiger
Benutzung auf jeden Fall die Anleitung zu lesen. Wer lediglich tar benötigt,
um .tgz Files zu entpacken, sollte dagegen lieber UnTGZ von Oliver Wagner
benutzen (siehe unten).
Empfohlen wird die Portierung aus dem "GeekGadget"-Projekt. Ich habe
nämlich noch eine andere Portierung, die allerdings die Pfade nur im
Un*x-Stil akzeptiert, was sicherlich unnötig gewöhnungsbedürftig ist.
Endung eines tar Archivs: .tar
Endung einer tar/GZip Archives: .tgz oder .tar.gz
I. Archivieren
Der Aufruf, um ein neues tar-Archiv anzulegen, lautet:
tar --create --file <Archiv> <File1> <File2...>
Oder mit den abgekürzten Optionen:
tar -cf <Archiv> <File1> <File2..>
Damit werden die Dateien File1, File2.. zusammen in das Archiv gepackt,
ohne dabei gepackt zu werden. Allerdings unterstützt tar auch "compress"
und "GZip" direkt. Soll das Archiv mit GZip gepackt werden, muß die
Option -z mit angegeben werden (sowohl beim Packen also auch beim
Entpacken).
tar -czf <Archiv> <File1> <File2..>
Fall das Archiv bereits existiert und nur die Files hinzugefügt werden
sollen, darf die --create (-c) Option nicht angegeben werden, da sonst
das Archiv überschrieben wird. In diesem Fall ist die --append bzw. -r
Option zu verwenden.
tar -rf <Archiv> <File1> <File2..>
Dabei ist jedoch zu beachten, daß tar nicht checkt, ob die Dateien bereits
im Archiv sind und sie einfach als letzte Dateien hinzufügt. Um bereits
bestehende Dateien upzudaten, gibt es die Option "--update" ('-u').
II. Entpacken
Um nun das Archiv wieder zu entpacken, gibt es folgenden Aufruf:
tar -xf <Archiv> <File1> <File2..>
Die 'x' Option ist die Kurzfassung von '--extract', womit die angegebenen
Dateien entsprechend ihres Pfades entpackt werden.
III. Weitere Optionen
Soll tar anzeigen, welche Dateien bearbeitet werden, ist die Option
--verbose ('-v') mitanzugeben. Z.B.:
tar -cvzf <Archiv> <File1> <File2..>
UnTGZ 1.5
"UnTGZ" von Oliver Wagner (zu finden unter ftp.vapor.com) entpackt Dateien,
die mit tar und GZip zu einem Archiv zusammengepackt sind. Als reines
Entpacktool ist es einfacher zu bedienen als tar. Die tar/GZip-Archive
enden auf .tgz oder .tar.gz
Der Aufruf von UnTGZ ist denkbar einfach:
UnTGZ <Archiv> <Zielverzeichnis>
Zum Anzeigen des Inhaltes besitzt UnTGZ noch die Option -v.
UnTGZ -v <Archiv>
Unarj
Unarj ist ein Entpacker für den arj-Packer des PC`s. Die Bedienung ist
relativ einfach. Es gibt mehrere Portierungen von Unarj für den Amiga.
Die Bedienung ist jedoch gleich.
UNARJ <Archiv>
Damit wird der Inhalt des arj-Archives angezeigt.
UNARJ e <Archiv>
Damit wird das Archiv in das aktuelle Verzeichnis hinein entpackt.
UNARJ x <Archiv>
Damit wird das Archiv entpackt und die Pfade der Dateien bleiben
erhalten.
UNARJ t <Archiv>
Damit wird das Archiv getestet.
Unrar
Unrar ist ein Entpacker für den PC-Packer rar. Hinweis: Die Version 2.01
von Amiga-Unrar hat einen Bug, es sollte daher auf jeden Fall Version
2.02 verwendet werden!
Unrar x <Archiv> <Pfad_des_Zielverzeichnis>
Zum Auspacken des Archivss.
Unrar l <Archiv>
Listet den Inhalt des Archivs.
Unrar t <Archiv>
Checkt den Inhalt des Archivs.
Übersicht:
Packer | Packen | Entpacken | Auflisten |
LhA | a | x oder e | l oder t |
LZX | a | x oder e | l oder t |
tar | -c oder -r | -x | -t |
GZip | | d | -l oder -lv |
UnTGZ | k.A. | | -v |
UnARJ | k.A. | x oder e | |
UnRAR | k.A. | x | l |